/** 默认主题设置 */
export const themeSettings: App.Theme.ThemeSetting = {
  /** 主题模式：light(浅色) / dark(深色) */
  themeScheme: 'light',
  /** 是否开启灰度模式 */
  grayscale: false,
  /** 是否开启色弱模式 */
  colourWeakness: false,
  /** 是否显示推荐颜色 */
  recommendColor: false,
  /** 主题色 */
  themeColor: '#646cff',
  /** 其他功能颜色配置 */
  otherColor: {
    /** 信息提示颜色 */
    info: '#2080f0',
    /** 成功提示颜色 */
    success: '#52c41a',
    /** 警告提示颜色 */
    warning: '#faad14',
    /** 错误提示颜色 */
    error: '#f5222d'
  },
  /** 信息颜色是否跟随主色 */
  isInfoFollowPrimary: true,
  /** 重置缓存策略：close(关闭时重置) */
  resetCacheStrategy: 'close',
  /** 布局配置 */
  layout: {
    /** 布局模式：vertical(垂直) / horizontal(水平) / mix(混合) */
    mode: 'vertical',
    /** 滚动模式：content(内容区滚动) / wrapper(整体滚动) */
    scrollMode: 'content',
    /** 是否反转水平混合布局 */
    reverseHorizontalMix: false
  },
  /** 页面配置 */
  page: {
    /** 是否开启页面切换动画 */
    animate: true,
    /** 页面切换动画模式 */
    animateMode: 'fade-slide'
  },
  /** 头部配置 */
  header: {
    /** 头部高度(px) */
    height: 56,
    /** 面包屑配置 */
    breadcrumb: {
      /** 是否显示面包屑 */
      visible: true,
      /** 是否显示面包屑图标 */
      showIcon: true
    },
    /** 多语言配置 */
    multilingual: {
      /** 是否显示多语言切换 */
      visible: true
    },
    /** 全局搜索配置 */
    globalSearch: {
      /** 是否显示全局搜索 */
      visible: true
    }
  },
  /** 标签页配置 */
  tab: {
    /** 是否显示标签页 */
    visible: true,
    /** 是否缓存标签页 */
    cache: true,
    /** 标签页高度(px) */
    height: 44,
    /** 标签页模式：chrome(谷歌浏览器风格) / button(按钮风格) */
    mode: 'chrome'
  },
  /** 是否固定头部和标签页 */
  fixedHeaderAndTab: true,
  /** 侧边栏配置 */
  sider: {
    /** 是否反转侧边栏颜色 */
    inverted: false,
    /** 侧边栏宽度(px) */
    width: 220,
    /** 侧边栏折叠后的宽度(px) */
    collapsedWidth: 64,
    /** 混合布局时侧边栏宽度(px) */
    mixWidth: 90,
    /** 混合布局时侧边栏折叠后的宽度(px) */
    mixCollapsedWidth: 64,
    /** 混合布局时子菜单宽度(px) */
    mixChildMenuWidth: 200
  },
  /** 页脚配置 */
  footer: {
    /** 是否显示页脚 */
    visible: false,
    /** 是否固定页脚 */
    fixed: false,
    /** 页脚高度(px) */
    height: 48,
    /** 是否右对齐 */
    right: true
  },
  /** 水印配置 */
  watermark: {
    /** 是否显示水印 */
    visible: false,
    /** 水印文本 */
    text: 'SoybeanAdmin',
    /** 是否启用用户名作为水印 */
    enableUserName: false
  },
  /** 主题令牌配置 */
  tokens: {
    /** 浅色主题配置 */
    light: {
      /** 颜色配置 */
      colors: {
        /** 容器背景色 */
        container: 'rgb(255, 255, 255)',
        /** 布局背景色 */
        layout: 'rgb(247, 250, 252)',
        /** 反转颜色(用于深色背景) */
        inverted: 'rgb(0, 20, 40)',
        /** 基础文本颜色 */
        'base-text': 'rgb(31, 31, 31)'
      },
      /** 阴影配置 */
      boxShadow: {
        /** 头部阴影 */
        header: '0 1px 2px rgb(0, 21, 41, 0.08)',
        /** 侧边栏阴影 */
        sider: '2px 0 8px 0 rgb(29, 35, 41, 0.05)',
        /** 标签页阴影 */
        tab: '0 1px 2px rgb(0, 21, 41, 0.08)'
      }
    },
    /** 深色主题配置 */
    dark: {
      /** 颜色配置 */
      colors: {
        /** 容器背景色 */
        container: 'rgb(28, 28, 28)',
        /** 布局背景色 */
        layout: 'rgb(18, 18, 18)',
        /** 基础文本颜色 */
        'base-text': 'rgb(224, 224, 224)'
      }
    }
  }
};

/**
 * 覆盖主题设置
 *
 * 如果发布新版本，可以使用 `overrideThemeSettings` 来覆盖某些主题设置
 * 这样可以在不修改默认配置的情况下，对特定配置项进行调整
 */
export const overrideThemeSettings: Partial<App.Theme.ThemeSetting> = {};
